package com.itheima.api.exception.demo06;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 编译期异常和运行期异常的区别：
 *
 * 运行期异常：就是发生在运行期的异常，RuntimeException以及RuntimeException的子类都是运行期异常
 * 编译期异常：就是发生在编译期的异常 非运行期异常就是编译期的异常 ； 编译期异常我们必须要对其进行处理
 *
 */
public class ExceptionDemo01 {

    public static void main(String[] args) {

        // 定义两个int类型的变量
//        int a = 23 ;
//        int b = 0 ;
//
//        // 输出 a / b
//        // 我们可以对其进行处理，也可以不处理； 如果不处理，那么会执行jvm的默认异常处理的
//        System.out.println(a / b);
//
//        // 程序的结束语
//        System.out.println("程序结束了......................");

        // 编译期异常
        // 需求: 把一个日期字符串解析成一个日期对象
        String s = "2019-08-28" ;
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日") ;

        try {

            Date date = dateFormat.parse(s);        // 产生了编译期异常，如果我们对这个异常没有进行处理，那么编译无法通过
            System.out.println(date);

        }catch (ParseException e) {
            System.out.println("程序出现问题了...............");
        }

        // 程序的结束语
        System.out.println("程序结束了......................");

    }


}
